package net.marloncarvalho.loteriaz.rn;

import net.marloncarvalho.loteriaz.rn.impl.ConcursoNegocio;
import net.marloncarvalho.loteriaz.rn.impl.LoteriaNegocio;
import net.marloncarvalho.loteriaz.rn.impl.MegasenaNegocio;
import net.marloncarvalho.loteriaz.rn.impl.SorteioNegocio;

final public class NegocioFactory {
	private static NegocioFactory instancia = new NegocioFactory();
	private LoteriaNegocio loteriaRN;
	private ConcursoNegocio concursoRN;
	private SorteioNegocio sorteioRN;
	private MegasenaNegocio megasenaRN;
	
	private NegocioFactory() {}

	public static NegocioFactory getInstancia() {
		return instancia;
	}

	public static void setInstancia(NegocioFactory instancia) {
		NegocioFactory.instancia = instancia;
	}

	public LoteriaNegocio getLoteriaRN() {
		if ( loteriaRN == null ) 
			loteriaRN = new LoteriaNegocio();
		return loteriaRN;
	}

	public ConcursoNegocio getConcursoRN() {
		if ( concursoRN == null ) 
			concursoRN = new ConcursoNegocio();
		return concursoRN;
	}

	public SorteioNegocio getSorteioRN() {
		if ( sorteioRN == null ) 
			sorteioRN = new SorteioNegocio();
		return sorteioRN;
	}

	public MegasenaNegocio getMegasenaRN() {
		if ( megasenaRN == null ) 
			megasenaRN = new MegasenaNegocio();
		return megasenaRN;
	}

}